From Cppreference
|
|
|
|
|
|
|
template<
class BidirectionalIterator
> class sub_match;
|
| (C++11 feature)
|
|
|
|
The class template sub_match is used by the regular expression engine to denote sequences of characters matched by marked sub-expressions.
A match is a [begin, end) pair within the target range matched by the regular expression, but with additional observer functions to enhance code clarity.
Only the default constructor is publicly accessible: object of this class are normally constructed and populated as a part of a std::match_results container during the processing of one of the regex algorithms.
The member functions return defined default values unless the matched member is true.
Inherits std::pair<BidirectionalIterator, BidirectionalIterator>, although this type can not be treated as a std::pair object because member functions such as swap and assignment will not work as expected.
Several specializations for common character sequence types are provided:
| Defined in header <regex>
|
|
|
| Type
| Definition
|
|
|
| csub_match
| sub_match<const char*>
|
|
|
| wcsub_match
| sub_match<const wchar_t*>
|
|
|
| ssub_match
| sub_match<std::string::const_iterator>
|
|
|
| wssub_match
| sub_match<std::wstring::const_iterator>
|
[edit] Member types
|
|
| Member type
| Definition
|
|
|
| iterator
| BidirectionalIterator
|
|
|
| value_type
| std::iterator_traits<BidirectionalIterator>::value_type
|
|
|
| difference_type
| std::iterator_traits<BidirectionalIterator>::difference_type
|
|
|
| string_type
| std::basic_string<value_type>
|
[edit] Member objects
|
|
| matched
| Indicates if this match was successful.
|
|
|
| first
| Start of the match sequence.
|
|
|
| second
| One-past-the-end of the match sequence.
|
[edit] Member functions
|
|
|
| constructs the match object (public member function)
|
Observers
|
|
|
|
| Returns the length of the match (if any). (public member function)
|
|
|
|
| Converts to the underlying string type. (public member function)
|
|
|
|
| Compares matched subsequence (if any). (public member function)
|
[edit] Non-member functions
|
|
|
| lexicographically compares the values in the container (function)
|